草庐IT

c++ - python sys.stdout 和 C++ iostreams::cout

全部标签

c++ - std::fstream 和 Boost Iostreams 库之间的区别

我是BOOST库的新手。今天看到一小段代码,其中读写PGM格式图片是用BoostIostreamsLibrary实现的。随着我对STL越来越熟悉,我可以很容易地看出std::fstream可以完成同样的工作。那么我的问题是,在这样一个简单的读写PGM图像的应用程序中使用Boost库有什么意义呢?此外,我想知道在什么情况下最需要BOOSTIostreams库。谢谢! 最佳答案 来自std::fstreamreference:fstreamprovidesaninterfacetoreadandwritedatafromfilesasi

c++ - 使用 std::cout 一次而不是多次显示相同数量的数据是否更有效?

例如,像这样显示这些变量会不会更节省内存:std::cout而不是这个:std::cout当然,我并不是真的担心两行代码..但我正在努力学习更有效地编写代码谢谢 最佳答案 将其设为单个语句理论上会更快,因为编译器可以更自由地重新安排参数评估的顺序。但是,这是在谈论0.00000000000001%的差异,毫无意义。不要关心这个-瓶颈在控制台本身。无论如何,列对齐对于可读性非常有帮助,所以试试这个:std::cout或者这个:std::cout(我更喜欢第一个,因为我发现在我的文本编辑器中格式化更容易)。

c++ - Boost iostreams 库存在,但我无法链接它

我知道有很多类似的问题,但我的问题有点不同,而且没有帮助我。我正在使用boost-iostreams库,这是我的问题,我试图将我的程序与库链接:ld-I/usr/include/boost/iostreams/-I/usr/include/boost/iostreams/device/-L/usr/lib/libboost_iostreams.so-lboost-iostreamsfd.o-ox结果是:ld:cannotfind-lboost-iostreams当我试图明确地写它时:ld-I/usr/include/boost/iostreams/-I/usr/include/boos

c++ - std::cout 在具有静态存储持续时间的对象的构造函数中的使用

在C++98/C++03中具有静态存储持续时间的对象的构造函数中使用std::cout是否安全?从这个看来answer它不是,但它不包含标准中的任何引用。只有在C++11和C++14中才安全吗? 最佳答案 来自C++14(N3797),§27.4p2:Theobjectsareconstructedandtheassociationsareestablishedatsometimepriortoorduringthefirsttimeanobjectofclassios_base::Initisconstructed,andinan

c++ - 如何强制 xcode 使用正确的 iostream header C++

xcode4.2osx10.7当我将我的包含设置为如下所示时:#include#include我从位于/opt/local/include/boost/tr1/tr1的文件中得到以下错误LexicalorPreprocessorIssue'boost/tr1/detail/config_all.hpp'filenotfound/opt/local/include/boost/tr1/tr1/iostream文件的内容://(C)CopyrightJohnMaddock2005.//Use,modificationanddistributionaresubjecttothe//Boost

c++ - 下面的方案如何保证对象 cin、cout、...只有一个定义?

Here您会在Whichheader?下找到以下语句:Finally,providestheeightstandardglobalobjects(cin,cout,etc).Todothiscorrectly,thisheaderalsoprovidesthecontentsoftheandheaders,butnothingelse.Thecontentsofthisheaderlooklike#include#includenamespacestd{externistreamcin;externostreamcout;....//thisisexplainedbelowstatic

c++ - 如何将 boost::iostreams::mapped_file_source 与 gzip 压缩的输入文件一起使用

我正在使用boost::iostreams::mapped_file_source将文本文件从特定位置读取到特定位置并操作每一行(使用g++-Wall-O3-lboost_iostreams-otestmain.cpp编译):#include#include#includeintmain(){boost::iostreams::mapped_file_sourcef_read;f_read.open("in.txt");longlongintalignment_offset(0);//setthestartpointconstchar*pt_current(f_read.data()+

c++ - 在 std::cout 刷新事件上捕获和引发事件

我正在尝试编写一个作用域对象来重定向std::cout的输出并在刷新底层缓冲区时调用函数。我的实现大量借鉴了以下SO答案:c++executefunctionanytimeastreamiswrittento我让它部分工作,但只有在我明确调用flush时才会调用回调函数在std::cout.但是,我希望它在任何内容写入流时调用回调函数。注意:我正在编译MSVC++11。structstream_redirect{stream_redirect(std::ostream&stream,std::streambuf*rdbuf):stream(stream),rdbuf_old(strea

c++ - 如何将 stderr/stdout 重定向到我在 C++ 中的登录?

这个问题在这里已经有了答案:Suppressoutputtocoutfromlinkedlibrary(6个答案)关闭7年前。我正在使用有时会出现内部错误的第3方,当发生这种情况时,第3方会写入stderr,我可以在控制台中看到它。(我确实检查了第3方函数的返回值,发现他失败了,但我想要他写入stderr的信息)我有一个记录器,我用我的方法写给它SendLog(stringlog);我想以某种方式捕捉我的第3方正在写入stderr的内容(也许以某种方式监听stderr),然后将这些内容写入我的日志。我该怎么做?我需要它,因为我的用户看不到控制台,只能看到日志。重要的是要注意,我的程序在

c++ - cout 是否保证有 ctype<char> 刻面?

给定:autofoo="ABCDEFGHIJKLMNOPQRSTUVWXYZ"s我可以通过以下方式将所有字符转换为小写:use_facet>(cout.getloc()).tolower(data(foo),next(data(foo),foo.size()));LiveExample但这取决于cout.getloc()包含ctypefacet.假设我使用的是未修改的cout我可以假设cout.getloc()将包含facetctype还是我需要在使用前确认这一点:has_facet>(cout.getloc()) 最佳答案 来自c